﻿#region Header
// ------------------------ Licence / Copyright ------------------------
// 
// ScrumTable for Scrum Meeting Support
// Copyright © HSR - Hochschule für Technik Rapperswil
// All Rights Reserved
// 
// Author:
//  Michael Gfeller Silvan Gehrig Patrick Boos
// 
// ---------------------------------------------------------------------
#endregion

#region Usings

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using ScrumTable.BL.DM.DataManagement;
using ScrumTable.UI.ViewModel;
using ScrumTable.UI.ViewModel.Data;

#endregion

namespace ScrumTable.UI.View.Command
{
    /// <summary>
    /// Interface for dropping controls
    /// </summary>
    public static class CommandLib
    {

        #region Properties
        //--------------------------------------------------------------------
        // Declarations
        //--------------------------------------------------------------------
        private static RoutedUICommand _cmdAddTask = null;
        private static RoutedUICommand _cmdAddAttachment = null;


        private static RoutedUICommand _cmdAddComboBoxItem= null;
        private static RoutedUICommand _cmdRemoveComboBoxItem = null;
        private static RoutedUICommand _cmdChangeComboBoxItem = null;

        private static RoutedUICommand _cmdSelectStoryPoint = null;
        private static RoutedUICommand _cmdSelectVelocityItem = null;
        private static RoutedUICommand _cmdCloseItem = null;



        #endregion

        #region Properties
        //--------------------------------------------------------------------
        // Properties
        //--------------------------------------------------------------------


        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand AddTask
        {
            get
            {
                if (_cmdAddTask == null)
                {
                    _cmdAddTask = new RoutedUICommand("AddTask", "AddTask", typeof(CommandLib));
                }
                return _cmdAddTask;
            }
        }

        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand AddAttachment
        {
            get
            {
                if (_cmdAddAttachment == null)
                {
                    _cmdAddAttachment = new RoutedUICommand("AddAttachment", "AddAttachment", typeof(CommandLib));


                }
                return _cmdAddAttachment;
            }
        }

        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand AddComboBoxItem
        {
            get
            {
                if (_cmdAddComboBoxItem == null)
                {
                    _cmdAddComboBoxItem = new RoutedUICommand("AddComboBoxItem", "AddComboBoxItem", typeof(CommandLib));
                }
                return _cmdAddComboBoxItem;
            }
        }

        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand RemoveComboBoxItem
        {
            get
            {
                if (_cmdRemoveComboBoxItem == null)
                {
                    _cmdRemoveComboBoxItem = new RoutedUICommand("RemoveComboBoxItem", "RemoveComboBoxItem", typeof(CommandLib));


                }
                return _cmdRemoveComboBoxItem;
            }
        }

        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand ChangeBoxItem
        {
            get
            {
                if (_cmdChangeComboBoxItem == null)
                {
                    _cmdChangeComboBoxItem = new RoutedUICommand("ChangeBoxItem", "ChangeBoxItem", typeof(CommandLib));
                }
                return _cmdChangeComboBoxItem;
            }
        }

        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand SelectVelocityItem
        {
            get
            {
                if (_cmdSelectVelocityItem == null)
                {
                    _cmdSelectVelocityItem = new RoutedUICommand("SelectVelocityItem", "SelectVelocityItem", typeof(CommandLib));
                }
                return _cmdSelectVelocityItem;
            }
        }


        /// <summary>
        /// Command for adding a task
        /// </summary>
        public static RoutedUICommand SelectStoryPoint
        {
            get
            {
                if (_cmdSelectStoryPoint == null)
                {
                    _cmdSelectStoryPoint = new RoutedUICommand("SelectStoryPoint", "SelectStoryPoint", typeof(CommandLib));
                }
                return _cmdSelectStoryPoint;
            }
        }




        /// <summary>
        /// Command for closing a Item. If more different items have to be closed -> create spefifc commands
        /// </summary>
        public static RoutedUICommand CloseItem
        {
            get
            {
                if (_cmdCloseItem == null)
                {
                    _cmdCloseItem = new RoutedUICommand("CloseItem", "CloseItem", typeof(CommandLib));
                }
                return _cmdCloseItem;
            }
        }

        #endregion

    }
}